package StringMode;

import java.util.Random;
import java.util.Scanner;

public class lx2 {
    public static void main(String[] args) {
        //键盘输入任意字符串，打乱里面的内容
        //接收键盘录入的字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入任意字符串：");
        String St= sc.next();
        //打乱里面的内容
        //变成数组
        char[] c = St.toCharArray();

        //3.打乱数组里面的内容
        //从8索引开始，跟一个随机索引进行位置的交换
        //当数组里面的每一个元素都跟一个随机索引进行交换完毕之后，那么内容就打乱了
        Random r = new Random();
        for (int i = 0; i < c.length;) {
            int index = r.nextInt(c.length);
            //装随机数的数组
            int[] arr =new int[c.length+1];
            if (contins(arr, index)) {
                //若随机数重复则什么都不运行
            }else {
                //将值交换就可以了
                arr[i] = index;
                char a = c[i];
                c[i] = c[index];
                c[index] = a;
                i++;
            }
        }
        //再把数组变成数组
        String str = new String(c);
        //打印str
        System.out.println(str);
    }

    //判断arr数组中存不存在nuubmer这个数，存在就返回true，不存在就是false
    public static boolean contins(int[] arr , int number){
        for (int i = 0; i < arr.length; i++) {
            if ( arr[i] == number ) {
//                System.out.println("重复了！！");
                return true;
            }
        }
        return false;
    }
}
